Architects use a simulator in order to verify and evaluate a design before developing a system. Since software developers are required to develop an application before hardware is developed, a simulator is necessary. However, simulators have a considerably low execution speed in comparison to hardware. Nevertheless, simulators have been widely used by developers because of the convenience which simulators provide for developing an application before developing hardware.